home *** CD-ROM | disk | FTP | other *** search
- Path: mail2news.demon.co.uk!sisyphus.demon.co.uk
- From: Dave.Sparks@sisyphus.demon.co.uk
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: PPC compilers
- Date: Tue, 2 Jan 96 19:32:22 +0000 (GMT)
- Organization: to be supplied
- Distribution: world
- Message-ID: <19960102.46B6B0.1171E@sisyphus.demon.co.uk>
- References: <john.hendrikx.40ka@grafix.xs4all.nl> <19951223.57F728.6866@sisyphus.demon.co.uk> <4bqdk8$6g5@sunsystem5.informatik.tu-muenchen.de> <19951227.542040.7590@sisyphus.demon.co.uk> <4c9h7d$h3i@sunsystem5.informatik.tu-muenchen.de>
- X-NNTP-Posting-Host: sisyphus.demon.co.uk
- In-reply-to: fischerj@Informatik.TU-Muenchen.DE's message of 1 Jan 1996 20:46:37 GMT
- X-Attribution: DaveS
- Content-Length: 2600
- X-Lines: 66
- X-Mail2News-Path: relay-4.mail.demon.net!post.demon.co.uk!sisyphus.demon.co.uk
-
- >>>>> "JF" == Juergen "Rally" Fischer <fischerj@Informatik.TU-Muenchen.DE> writes:
-
- JF> Dave.Sparks@sisyphus.demon.co.uk wrote:
- >> >>>>> "JF" == Juergen "Rally" Fischer
- >> <fischerj@Informatik.TU-Muenchen.DE> writes:
-
- >> The issue isn't whether or not it does it wrong, but whether what it
- >> does is defined (for all 680xx processors). If you know what
- JF> agree.
- >> this instruction is _defined_ to do, quote the definition. Motorola's
- >> definition, not yours.
-
- JF> mhm, is Hitatchi doku also ok ?
-
- JF> "adress register indirect with postincrement: The adress of the
- JF> operand is in the adress register specified by the register field.
- JF> AFTER THE OPERAND IS USED, IT IS INCREMENTED by one, two or four
- JF> [...]"
-
- My original post used PREDECREMENT, not postincrement.
-
- JF> I would interpret "after operand is used" that way:
-
- JF> when data from (a0) is read, a0 was used (used to build an adress).
- JF> so a0 is incremented. then data is written at (a0)+.
-
- "after the operand is used" does not necessarily mean "before
- the other operand is used". A good definition leaves nothing
- to "interpretation".
-
- JF> As there are AFAIK no warnings in the docu, it's IMHO legal to assume
- JF> the logic way (if my test code isn't wrong, the EC020 behaves exactly
- JF> that way. 060 users tell your experiences ;)
-
- You were criticising C because its definition very carefully
- states that the order of evaluation of expressions between control
- points is not fully defined, so expressions like
-
- *--A0 = *--A0;
-
- do not give uniformly predictable results. You then claim that
- assembly code is better because the assembly code definition gives
- no such warning for
-
- MOVE.L -(A0),-(A0)
-
- leaving you free to assume that _all_ processors implementing this
- instruction use the interpretation you choose to use.
-
- (BTW, if anyone wants to test this on an '060, remember that the
- effect may depend on whether A0 is used or modified in the few
- instructions executed before or after this one, or on the state of
- the instruction and data caches, or on ...)
-
- >> -- Dave.Sparks@sisyphus.demon.co.uk (Staffordshire, England)
- >> ... details are more implementation-dependant than defined.
-
- The line in my .sig is a direct quotation from another
- manufacturer's architecture manual. It looks horrifying, but at
- least it's honest (and in context applies only to privileged
- instructions which would be used only in the operating system).
-
- --
- Dave.Sparks@sisyphus.demon.co.uk (Staffordshire, England)
-
- ... details are more implementation-dependant than defined.
-
-
-